import os

# 基础配置
BASE_DIR = os.path.abspath(os.path.dirname(__file__))

# Flask配置
DEBUG = True
SECRET_KEY = 'your-secret-key-change-in-production'

# 数据库配置
DATABASE_CONFIG = {
    'host': 'localhost',
    'port': 3306,
    'user': 'root',
    'password': '123456',  # 请修改为您的数据库密码
    'database': 'anjuke_rent',
    'charset': 'utf8mb4',
    'autocommit': True
}

# 数据管理配置
DATA_MANAGEMENT_CONFIG = {
    'default_page_size': 20,
    'max_page_size': 100,
    'export_batch_size': 1000,
    'supported_export_formats': ['excel', 'csv'],

    # 搜索配置
    'searchable_fields': ['title', 'address', 'agent', 'description'],
    'filterable_fields': ['city', 'district', 'room_type', 'source_type', 'price'],

    # 表格配置
    'display_columns': [
        {'key': 'id', 'name': 'ID', 'sortable': True, 'width': 80},
        {'key': 'title', 'name': '标题', 'sortable': True, 'width': 200},
        {'key': 'price', 'name': '价格', 'sortable': True, 'width': 100},
        {'key': 'room_type', 'name': '户型', 'sortable': True, 'width': 100},
        {'key': 'area', 'name': '面积', 'sortable': True, 'width': 100},
        {'key': 'city', 'name': '城市', 'sortable': True, 'width': 100},
        {'key': 'district', 'name': '区域', 'sortable': True, 'width': 100},
        {'key': 'source_type', 'name': '来源', 'sortable': True, 'width': 100},
        {'key': 'crawl_time', 'name': '爬取时间', 'sortable': True, 'width': 150}
    ]
}

# 爬虫配置 - 新增SPIDER_CONFIG
SPIDER_CONFIG = {
    'request_delay': (0.3, 0.8),
    'page_delay': (0.5, 1.5),     # 减少页面间延迟
    'timeout': 8,
    'max_retries': 3,
    'max_pages': 25,
    'use_proxy': False,
    'get_details': False,
    'concurrent_workers': 8,
    'batch_size': 50,

    # 数据库配置
    'database': DATABASE_CONFIG,

    # 存储选项配置
    'storage_options': {
        'save_to_mysql': True,
        'save_to_excel': False,
        'save_to_csv': False,
        'save_analysis_report': False
    }
}

# 支持的城市
SUPPORTED_CITIES = [
    '广州', '北京', '上海', '深圳', '杭州', '南京', '成都', '武汉',
    '西安', '重庆', '天津', '苏州', '长沙', '郑州', '东莞', '佛山'
]
CITY_OPTIONS = [{'value': '', 'text': '全部城市'}] + [{'value': city, 'text': city} for city in SUPPORTED_CITIES]



# 房间类型
ROOM_TYPES = {
    '不限': None,
    '一室': 'w1',
    '二室': 'w2',
    '三室': 'w3',
    '四室': 'w4',
    '五室': 'w5'
}

# 房源来源
SOURCE_TYPES = {
    '全部': None,
    '个人房源': 'l2',
    '经纪房源': 'l1',
    '品牌公寓': 'jg1'
}

# 房间类型选项
ROOM_TYPE_OPTIONS = [{'value': '', 'text': '全部户型'}] + [{'value': room_type, 'text': room_name} for room_name, room_type in ROOM_TYPES.items() if room_type]

# 房源来源选项
SOURCE_TYPE_OPTIONS = [{'value': '', 'text': '全部来源'}] + [{'value': source_type, 'text': source_name} for source_name, source_type in SOURCE_TYPES.items() if source_type]

# 价格区间
PRICE_RANGES = {
    '不限': ('', ''),
    '1000元以下': ('0', '1000'),
    '1000-2000元': ('1000', '2000'),
    '2000-3000元': ('2000', '3000'),
    '3000-5000元': ('3000', '5000'),
    '5000-8000元': ('5000', '8000'),
    '8000元以上': ('8000', '')
}

# 数据库表字段映射 - 新增
DB_FIELD_MAPPING = {
    '标题': 'title',
    '价格(元/月)': 'price',
    '户型': 'room_type',
    '面积(平米)': 'area',
    '楼层': 'floor_info',
    '总楼层': 'total_floors',
    '地址': 'address',
    '标签': 'tags',
    '经纪人': 'agent',
    '特色': 'features',
    '链接': 'link',
    '爬取时间': 'crawl_time',
    '房屋编码': 'house_code',
    '付款方式': 'payment_method',
    '详细户型': 'detailed_layout',
    '朝向': 'orientation',
    '装修': 'decoration',
    '配套设施': 'facilities',
    '房源描述': 'description',
    '出租要求': 'rental_requirements'
}